import {
  login,
} from "../../api/login"
import {
  toast
} from "../../utils/extendAPI";
import {
  setStorage
} from "../../utils/store"

import {
  store
} from "../../store/store"
import {
  createStoreBindings
} from "mobx-miniprogram-bindings"
Page({
  /**
   * 页面的初始数据
   */
  data: {},

  // 获取用户信息
  async login() {
    const {
      userInfo
    } = await wx.getUserProfile({
      desc: "asda"
    })
    // 获取临时凭证
    const {
      code
    } = await wx.login()
    if (code && userInfo) {
      // 请求后端获取 token
      const {
        data
      } = await login(code);
      // 存储本地
      setStorage("token", data.token)
      // 修改仓库的token
      this.setToken(data.token)
      console.log(userInfo);
      // 存储到本地
      setStorage("userinfo", userInfo)
      // 存储到仓库
      this.setUserInfo(userInfo.avatarUrl, userInfo.nickName)
      wx.navigateBack()
    } else {
      toast({
        title: "授权失败"
      })
    }
  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.storeBindings = createStoreBindings(this, {
      store,
      fields: ["token", "userinfo"],
      actions: ["setToken", "setUserInfo"]
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    this.storeBindings.destroyStoreBindings()
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {}
})